package com.chentongwei.spring.annotation.Import.config;

import com.chentongwei.spring.annotation.Import.entity.Color;
import com.chentongwei.spring.annotation.Import.entity.Red;
import com.chentongwei.spring.annotation.Import.selector.MyImportBeanDefinitionRegistrar;
import com.chentongwei.spring.annotation.Import.selector.MyImportSelector;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

/**
 * @author TongWei.Chen 2018-07-05 14:50:04
 * @Description:
 * @Project spring-annonation
 */
@Configuration
/**
 * @Import 导入组件，id默认是组件的全类名（com.chentongwei.spring.annotation.Import.entity.Color）
 */
@Import({Color.class, Red.class, MyImportSelector.class, MyImportBeanDefinitionRegistrar.class})
public class MainConfig {

    /**
     * 给容器中注册组件：
     * 1）、包扫描+组件标注注解（@ComponentScan）
     * 2）、@Bean【导入的第三方包里面的组件】
     * 3）、@Import【快速给容器中导入一个组件】
     *   3.1）、@Import({要导入容器中的组件})。
     *   3.2）、ImportSelector：返回需要导入的组件的全类名的子数组
     *   3.3）、MyImportBeanDefinitionRegistrar：手工注册bean到容器中
     */

}
